Referring to FIG. 1, an image 40 illustrating a conventional raster approach to a video data storage structure is shown. A 1920 pixels wide by 1080 pixels high image can be stored as 1080 rows of 1920 bytes. A memory page size is 1024 bytes. Therefore, the rows of the image 40 are spread over a number of pages. One conventional approach to storing the image 40 is to store all of the bytes of the first row (i.e., ROW0) followed by the bytes of each subsequent row (i.e., ROW1, ROW2, etc.); When the image is processed (i.e., compressed), 9×9 blocks of the image 40 are operated upon. When loading a 9×9 block stored in the raster format, at least 9, and possibly ten, pages are retrieved.
Referring to FIG. 2, a block diagram of an image 50 illustrating another conventional storage approach. The image 50 is divided into a number of 32×32 pixel tiles 52a-52n. Each of the tiles 52a-52n is stored contiguously as one 1024 byte page. The number of pages transferred per 9×9 block is reduced when compared with the raster storage method of FIG. 1.
Referring to FIG. 3, a block diagram of a motion compensation block 60 is shown. The data within each of the tiles is stored in a raster format. By storing an image as tiles, a 9×9 block (or any size block up to 32×32) 60 can be transferred by retrieving at most 4 pages. In the conventional approach, an interlaced image has each field stored separately.
It would be desirable to implement a method and/or architecture for overlapping pre-charge time and transfer time in a memory for video data storage. It would also be desirable to have a memory (e.g., SDRAM) architecture that may be used for video data storage applications that may (i) provide high bandwidth for short, random bursts as well as long, continuous, consecutive bursts, (ii) use less power than conventional approaches, (iii) provide a low cost solution, and/or (iv) be implemented with fewer pins than conventional solutions.